package ca.usherbrooke.domus.sipnmove2.model.communication;


/**
 * Direct communication
 */
public interface Communication {

	/**
	 * Add a communication listener that will be notified of communication events
	 * @param communicationListener Communication listener to add
	 */
	public void addCommunicationListener(CommunicationListener communicationListener);

	/**
	 * Send a message via the communication
	 * @param message Message to send
	 */
	public void sendMessage(String message);

	/**
	 * Initialize the communication
	 */
	public void initialize();

	/**
	 * Terminate the communication
	 */
	public void terminate();

}
